Modern computing networks facilitate the transmission of information from one party to another. If the information is confidential or otherwise sensitive, one or more systems may be employed to prevent unauthorized parties from accessing the information. These systems generally include securing the communication channel and/or securing the information itself.
For example, the information may be transmitted over a channel such as a Virtual Private Network (VPN) or an internal network which is segregated from external networks. Alternatively, the World Wide Web also provides a “secure” protocol (HTTPS) for transmitting information between a Web server and a Web browser. Each of the available communication channels may provide various degrees of security. Since most information passes at least partially through an unsecured network (e.g., the Internet), it is often preferable to assume that the communication channel is insecure and to instead secure the information itself.
Information may be secured using password-protection (e.g., in its native file format or within a password-protected .zip file) or encryption prior to transmission. Passwords or other data needed to access/decrypt the information are provided only to the intended recipients of the information. Due to the relatively low level of protection provided by passwords, and because the passwords themselves are typically transmitted over insecure channels, public key encryption is often preferred.
According to public key encryption principles, data encrypted using a public encryption key may only be decrypted using a private encryption key that corresponds to the public encryption key. A public encryption key and its corresponding private encryption key are referred to as an encryption key pair. A user's public encryption key is typically made freely available, while the user privately maintains his/her private encryption key.
In one example, user A obtains user B's public encryption key and encrypts a file (e.g., a Word document) using user B's public encryption key. The encrypted file is transmitted using any communication channel(s) to user B, and is decrypted by user B using user B's private encryption key. The security of the communication channel(s) is relatively immaterial, because only user B is able to decrypt the encrypted message (i.e., only user B possesses the appropriate private encryption key).
In the above example, user B is able to decrypt the file immediately upon receipt. However, in some instances, it may be desirable to provide the encrypted file to user B but to prevent user B (or anyone else) from decrypting the file until a certain time (e.g., after the occurrence of a specified event). It may also be desirable to allow user B to confirm that the file was transmitted by user A, while still preventing user B (and anyone else) from decrypting the file until the certain time.